﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
using EpsiRisk.MoteurJeu;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;

namespace EpsiRisk.AffichageJeu
{
    public class ClassZoneLancementDes : ClassZoneContextuelle
    {
        // POSITIONS RELATIVES DES DIFFERENTS DES
        static Vector2 decalageDeRouge1 = new Vector2(240, 10);
        static Vector2 decalageDeRouge2 = new Vector2(290, 10);
        static Vector2 decalageDeRouge3 = new Vector2(340, 10);
        static Vector2 decalageDeBleu1 = new Vector2(265, 45);
        static Vector2 decalageDeBleu2 = new Vector2(315, 45);

        ClassBouton retourSelectionAttaquant;
        static Texture2D spriteRetourSelectionAttaquant;

        int nb_rouge//nombre de des bleus utilises (attaquants)
        {
            get
            {
                return ClassPhaseAttaque.NbAttaquants;
            }
        }

        int nb_bleu//nombre de des bleus utilises (defenseurs)
        {
            get
            {
                return ClassPhaseAttaque.NbDefenseurs;
            }
        }

        internal override void Draw(SpriteBatch spriteBatch)
        {
            base.Draw(spriteBatch);
            spriteBatch.Begin();
            spriteBatch.End();
            ClassDonneesGlobales.des.affichageDeRouge1.position = Vector2.Add(this.position, decalageDeRouge1);
            ClassDonneesGlobales.des.affichageDeRouge1.Draw(spriteBatch);
            if (nb_rouge >= 2)
            {
                ClassDonneesGlobales.des.affichageDeRouge2.position = Vector2.Add(this.position, decalageDeRouge2);
                ClassDonneesGlobales.des.affichageDeRouge2.Draw(spriteBatch);
            }
            if (nb_rouge == 3)
            {
                ClassDonneesGlobales.des.affichageDeRouge3.position = Vector2.Add(this.position, decalageDeRouge3);
                ClassDonneesGlobales.des.affichageDeRouge3.Draw(spriteBatch);
            }
            ClassDonneesGlobales.des.affichageDeBleu1.position = Vector2.Add(this.position, decalageDeBleu1);
            ClassDonneesGlobales.des.affichageDeBleu1.Draw(spriteBatch);
            if (nb_bleu == 2)
            {
                ClassDonneesGlobales.des.affichageDeBleu2.position = Vector2.Add(this.position, decalageDeBleu2);
                ClassDonneesGlobales.des.affichageDeBleu2.Draw(spriteBatch);
            }
        }

        internal override void initialiser(ContentManager content)
        {
            spriteRetourSelectionAttaquant = content.Load<Texture2D>("Sprites/SpriteTerminerAttaquer");//TODO
            retourSelectionAttaquant = new ClassBouton(spriteRetourSelectionAttaquant);
            retourSelectionAttaquant.position = new Vector2(430, 60);
            retourSelectionAttaquant.height = 22;
            retourSelectionAttaquant.width = 161;
            retourSelectionAttaquant.Clicked += new EventHandler(retourSelectionAttaquant_Clicked);
            this.AddBouton(retourSelectionAttaquant);
        }

        void retourSelectionAttaquant_Clicked(object sender, EventArgs e)
        {
            retourselectionattaquant();

        }

        public void retourselectionattaquant()
        {
            ClassDonneesGlobales.des.deBleu1.finRoulement.Set();
            ClassDonneesGlobales.zoneContextuelle = ClassDonneesGlobales.zoneSelectionAttaquant;
        }

        /*internal override void clicXY(int x, int y)
        {
            
        }*/
    }
}
